package com.ruoyi.business.service;


import com.ruoyi.business.domain.ServiceItem;
import com.ruoyi.business.domain.StatementItem;

import javax.security.auth.login.LoginException;
import java.util.List;

/**
 * 【请填写功能名称】Service接口
 * 
 * @author ruoyi
 * @date 2022-01-24
 */
public interface IServiceItemService 
{
    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public ServiceItem selectServiceItemById(Long id);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param serviceItem 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<ServiceItem> selectServiceItemList(ServiceItem serviceItem);

    /**
     * 新增【请填写功能名称】
     * 
     * @param serviceItem 【请填写功能名称】
     * @return 结果
     */
    public int insertServiceItem(ServiceItem serviceItem);

    /**
     * 修改【请填写功能名称】
     * 
     * @param serviceItem 【请填写功能名称】
     * @return 结果
     */
    public int updateServiceItem(ServiceItem serviceItem);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】主键集合
     * @return 结果
     */
    public int deleteServiceItemByIds(String ids);

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteServiceItemById(Long id);

    /**
     * 服务单项软删除
     * @param ids
     */
    void updateByDelete(Long ids);

    /**
     * 根据状态更新
     * @param id 服务单项id
     * @param salestatus  上下架状态
     */
    void updateSaleStatus(Long id, Integer salestatus);

    /**
     * 服务单项的保存
     * @param serviceItem 传递参数对象
     */
    void saverServiceItem(ServiceItem serviceItem);

    /**
     * 访问单项编辑
     * @param serviceItem 编辑内容对象
     */
    void update(ServiceItem serviceItem);

    /**
     * 保存服务结算单商品
     * @param saveItems 保存服务单内容集合(包括优惠价格和客户id)
     */
    void saveItems(List<StatementItem> saveItems);



}
